package com.example.cursor_orm.dao;

import com.example.cursor_orm.model.Role;
import java.util.List;

/**
 * 角色DAO接口
 * 继承BaseDAO并添加角色特有的查询方法
 */
public interface RoleDAO extends BaseDAO<Role> {
    
    /**
     * 根据角色名查询角色
     * @param name 角色名
     * @return 角色对象
     */
    Role findByName(String name);
    
    /**
     * 根据描述模糊查询角色列表
     * @param description 描述关键词
     * @return 角色列表
     */
    List<Role> findByDescriptionLike(String description);
    
    /**
     * 检查角色名是否存在
     * @param name 角色名
     * @return 是否存在
     */
    boolean existsByName(String name);
    
    /**
     * 根据用户ID查询用户的所有角色
     * @param userId 用户ID
     * @return 角色列表
     */
    List<Role> findByUserId(Integer userId);
} 